Loading AI tools
開放媒體聯盟開發的開放且免專利費用的影片編碼格式 来自维基百科,自由的百科全书
AOMedia Video 1(简称AV1)是一个开放、免专利的影片编码格式,为网络流传输而设计。它由开放媒体联盟(AOMedia)开发,目标是取代其前身VP9[2],该联盟由半导体企业、视频点播供应商和网页浏览器开发商于2015年成立。2018年,Facebook进行接近真实使用环境条件测试,测试结果显示AV1资料压缩率与x264 main profile、x264 high profile和libvpx-vp9相较之下,分别提升50.3%、46.2%和34.0%[3]。
此条目需要精通或熟悉相关主题的编者参与及协助编辑。 |
AV1在授权上与VP9类似,可以免版税使用,不会像按销售量计授权费的H.264/AVC和HEVC一样对开源软件的采用造成障碍。[4][5][6][7][8][9]
开放媒体联盟(AOMedia)创建AV1主要是因为HEVC的专利许可成本高昂,授权空间模糊。AV1有望取代MPEG设计开发的编解码器AVC[11][12]。联盟最初由七间公司,Amazon、Cisco、Google、Intel、Microsoft、Mozilla和Netflix所组成,并宣布技术重点为提供高质量网络影像[13]。于2015年7月21日,HEVC Advance,现为ACCESS Advance,初始授权被宣布增加对AVC的权利金[14],除了权利金所增加的成本外,还增加了授权复杂度。这进而促成了同年9月1日,开放媒体联盟发布AV1的官方公告并宣布成立。与过往MPEG规范不同,MPEG可以只从MPEG-LA获得许可,而当完成HEVC规范时,已经形成了两个专利池,第三个专利池也即将出现。普遍而言,专利持有人拒绝将专利共享于专利池上,这增添HEVC授权的不确定性。据微软的Lan LeGrow所说,开源、免版税可视为不确定性消除的方法[11]。
此外,创建AV1另一个原因是专利授权对自由开源软件的负面影响[12]。例如在浏览器中,如果不向MPEG-LA支付权利金,就不能集成H.264[15]。欧洲自由软件基金会认为,由于与自由软体许可证的各种不兼容,不可能实现公平及合理非歧视条款许可实践使标准的自由软体[16]。
AV1技术主要来自联盟成员过往的研究与工作内容,分别在几年前就开始实现实验性平台,如:Xiph与Mozilla的Daala,于2014年9月12日发布的Google实验性质的VP9的下一代VP10[17],以及2015年8月11日发布的Cisco的Thor。AV1以VP9的代码库为基础,与其他技术结合产生[18],AV1编解码器参考规范初始版本0.1.0,并于2016年4月7日发布。
2017年10月下旬,尽管对于开发的冻结开始生效,但数个重要功能仍在继续发展。其中一项正在开发的功能──比特流格式,原定于2018年1月冻结开发,但仍有关键错误,以及需要对转换方法、语法设计、运动矢量预测的修改,也有法律的妥善性问题,最终发布日期延期至同年3月28日,联盟发布官方AV1比特流规范与软件的编解码器参考规范[19],2018年6月25日发布经验证过后的比特流规范1.0.0版[20],最终于2019年1月8日,发布1.0.0版附带的规格刊误。
据联盟成员Bitmovin中Martin Smole表示,在比特流格式完成冻结后,计算效率在官方参考编解码器仍具挑战[21]。虽然尚可处理比特流格式,但此并非商用用途,速度优化也未考量。因此,早期版本的AV1比现有的HEVC编码器慢几个数量级。近期,开发者趋于优化官方参考编码器。发布后一年的2019年3月,参考编码器的效率有大幅提升,并且与其他常见的编解码器在可比拟的效率范围内[22]。
2021年1月21日,AV1的多用途互联网邮件扩展(MIME)类型被定义为“video/AV1”。使用此MIME类型的AV1的使用仅限于实时传输协议目的[23]。
AV1的目标是成为一种既先进又免版税的网络视频格式[24]。 根据谷歌Chrome媒体团队战略和合作伙伴关系主管 Matt Frost 的说法,“开放媒体联盟的使命与WebM项目相同。”[25]
标准制定中反复出现的一个问题,尤其是免版税的多媒体格式,是不小心侵犯其创建者和用户不知道的专利的危险。关于 AV1和之前的VP8、 VP9、Theora和IVC已经提出了这种担忧。这个问题并不是免版税格式独有的,但它独特地威胁到他们免版税的地位。
为实现免版税的目标,开发过程要求在两个独立方独立确认不侵犯竞争公司的专利之前,不得采用任何功能。如果无法获得专利保护技术的替代方案,相关专利的所有者将被邀请加入联盟(即使他们已经是另一个专利池的成员)。例如,联盟成员Apple、Cisco、Google和Microsoft也是MPEG-LA H.264专利池的许可人。
AV1是一种使用传统的基于区块编码但也加入了新技术的频率变换格式,AV1所使用的编码技术主要来源于谷歌VP9的下一代视频压缩格式VP10,但同时也包含了由Xiph.Org基金会的主要赞助者Mozilla开发的Daala视频压缩格式和由Cisco开发的Thor视频压缩格式中所使用的视频编码技术。
开放媒体联盟根据FreeBSD 2许可证发布了一个用C语言和汇编语言编写的编解码器参考实例libaom。该参考实例的开发接受开放媒体联盟成员资助并且公开进行。此外还有另一个开源编码器rav1e,rav1e编码器以牺牲编码效率为代价,成为最简单、最快符合AV1标准的视频编码器[26]。
于此,帧的内容被划分(Partitioning)为相间、相邻且大小相同的区块,称为超区块。相似于宏区块的概念,超区块呈现方形,大小可为128×128或64×64像素。超区块可以根据不同的分区模式划分为更小的区块。四方分割模式(four-way split pattern)是唯一可以递归将分区细分的模式。这允许将超区块从宏块划分为小至4×4像素的分区。
T形分区模式是VP10开发的一项新功能,水平或垂直拆分超区块分割为4:1和1:4长条形分区。分区模式的使用因超区块大小而有所限制,其中128×128和8×8超区块都不能使用4:1或1:4长条型分区拆分,而只有8×8超区块则不能使用T形分割。
在不同区块空间的部分上使用两个独立预测,可以使用平滑的倾斜过渡线(楔形分区预测)。这使得对象得以准确地分割,而无需沿方形边界的传统阶梯线。
基于瓦形行列之间的可预测的相依性这使得可以实现更多的编码器平行性[27]。
AV1以更高的精度(10或12位样本频率)执行内部处理,由于分辨率提高,图像中的四舍五入的误差较小,使得压缩性能改进。
预测(Prediction)可以在一个区块中以更高级的方式组合成复合预测,包括不同方向平滑与尖锐的楔形分区预测,以及基于使用两个预测器探究两者之间差异的隐式掩码,这将比取平均来得优秀。这允许在同一超区块中使用两个帧间预测或帧间和帧内预测的组合[28]。
于帧间预测时,一个帧可以访问8个可用帧缓冲区中的6个而不是3个,且可同时为双向预测,即帧间与帧内预测组合预测[29]。
在AV1中的扭曲运动[27]和全局运动分析工具,用于借由识别由相机运动产生的模式,以减少运动向量中的冗余信息,如噪音即为冗于信息[27]。这实现了以往的格式中试图却仍未被实现的做法,例如尽管采用适用于三维的新颖方法的MPEG-4 ASP。比特流中提供的帧有一组扭曲参数,隐式区域参数可根据周围的区块计算得到并于区块中使用。
切换帧(S帧)是一种新的帧间类型,可以使用来自同一影像更高分辨率的已解码参考帧进行预测以允许切换至低分辨率,于自适性比特流媒体实例中,无需在开始时使用完整的关键帧影像片段。
帧内预测(Intra Prediction)使用当前帧中可用信息来预测目标区块的像素。大多数情况下,帧内预测是从待预测目标区块上方和左侧的相邻像素构建的。DC预测器借由平均区块左侧和上方像素进行预测。
根据指定的角度,方向预测器可以推断相邻像素。在AV1中,以45度角开始,每次差距22.5度,逐步增加至203度,共计八种模式。每个方向模式中,可以为较大的区块给予每个3度,共计六组的偏移信号,主角上方与下方各三组,从而产生总共56个角。
其中,真实运动预测器被替换为Paeth预测器,这将判别左上角已知像素与新像素的左侧与上方的的像素的差异,而后选择位于较小梯度方向的像素作为预测器。
另调色板预测器可用于较少颜色最多8个颜色的区块,如部分电脑屏幕内容,可使用基于亮度平面样本的色度块预测器来利用亮度和颜色信息之间的相关性[27]。
为了减少沿帧间预测区块边界的可视边界,可使用重叠块运动补偿(OBMC)技术,与相邻区块重叠2到32个像素,并混合重叠部分[30]。
为了将预测后剩余的误差转换(Data transformation)到频域,AV1编码器可以使用正方形、或2:1/1:2和4:1/1:4矩形进行离散余弦变换[29],以及非对称的离散正弦变换[31][32],对来自附近像素,预测左侧或上方边缘具有较低误差的区块,或者选择不进行变换。
这可以复合两个一维变换,使得水平和垂直维度得以使用不同的变换。
AV1具有优化量化(Quantization)矩阵,每帧可选择和发送信息八组量化参数,具有两个色度平面的单独参数,并且可以使用空间预测。在每个新的超区块上,量化参数可以通过发送偏移信号进行调整。
Thor的约束低通滤波器(Filter)和Daala的定向去振铃滤波器,对于环路滤波有卓越的成效:结合二者之约束定向增强滤波器,超过了单独或一起使用一般滤波器的结果。
这是一种边缘定向条件替换滤波器,平滑具有可配置强度的区块沿主要边缘方向,以消除振铃效应。
还有基于Wiener滤波器和自引导恢复滤波器的环路恢复滤波器,用于去除由于区块处理引起的模糊振铃。
胶片颗粒合成使用参数视频编码方法改进了噪声信号的编码。由于胶片颗粒噪声固有的随机性,该信号分量传统上编码成本昂贵,容易丢失与损坏,并可能会留下严重的编码振铃作为残留物。使用胶片颗粒合成来规避这些问题,其使用视觉上主观视觉印象相似的部分替换部分信号而不是客观相似性。消除从信号中去除颗粒成分与分析其非随机特征,取而代之的是仅将描述性参数传输到解码器,解码器会添加回原始组成成分之后重塑并合成伪随机噪声信号。胶片颗粒合成是AC3、AAC、Vorbis和Opus音频编解码器中使用的感知噪声替代技术的视觉等效项。
Daala的熵编码器,是一种非二进制的算术编码器,作为替代原先VP9二进制的编码器。非二进制算术编码的有利于避开现有专利,同时也让比特层级的串列过程增加了平行性,藉而降低硬件实现对于石英震荡器的速率要求。如前文参考之适应性二元算术编码之现代二进制算术编码的有效性,其正在使用比二进制更大的字母表来实现,因此速度更快,就像霍夫曼编码一样,虽然仍不及霍夫曼编码简单而快速。AV1在算术编码器中拥有按编码符号而不是按帧调整符号概率的能力[27]。
对于视频最重要的是,可适性视频编码是一种泛用技术而不是由AV1独有,以便可以从更高比特率的影像流中提取质量更好的低比特率视频流。这与自适应比特率流传输差别在于,每个更高比特率适配中的一些压缩效率被放弃,以获得整体影像流的性能。编码过程也较少冗余与较低的要求。
AV1提供了时间和空间可适性[33],帧速率和分辨率都是定义为低比特流可用的方法。
AV1拥有三种设置(Profile)供解码器使用Main、High与Professional。Main允许8、10比特的色彩深度以及4:0:0(灰阶)和4:2:0的色度抽样。High后续会支持4:4:4的色度抽样。Professional将会完整支持4:0:0、4:2:0、4:2:2、4:4:4的色度抽样以及8、10、12位的色彩深度[34]。
Main (0) | High (1) | Professional (2) | ||
---|---|---|---|---|
色彩深度 | 8、10 | 8、10 | 8、10、12 | |
色度抽样 | 4:0:0 | 是 | 是 | 是 |
4:2:0 | 是 | 是 | 是 | |
4:2:2 | 否 | 否 | 是 | |
4:4:4 | 否 | 是 | 是 |
seq_ |
Level | Max (抽样) |
Max (抽样) |
Max (抽样) |
Max (Hz) |
Max (Hz) |
Max |
Main (Mbit/s) |
High (Mbit/s) |
Min Comp Basis | Max Tiles | Max Tile Cols | Example |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2.0 | 147456 | 2048 | 1152 | 4,423,680 | 5,529,600 | 150 | 1.5 | - | 2 | 8 | 4 | 426×240@30fps |
1 | 2.1 | 278784 | 2816 | 1584 | 8,363,520 | 10,454,400 | 150 | 3.0 | - | 2 | 8 | 4 | 640×360@30fps |
4 | 3.0 | 665856 | 4352 | 2448 | 19,975,680 | 24,969,600 | 150 | 6.0 | - | 2 | 16 | 6 | 854×480@30fps |
5 | 3.1 | 1065024 | 5504 | 3096 | 31,950,720 | 39,938,400 | 150 | 10.0 | - | 2 | 16 | 6 | 1280×720@30fps |
8 | 4.0 | 2359296 | 6144 | 3456 | 70,778,880 | 77,856,768 | 300 | 12.0 | 30.0 | 4 | 32 | 8 | 1920×1080@30fps |
9 | 4.1 | 2359296 | 6144 | 3456 | 141,557,760 | 155,713,536 | 300 | 20.0 | 50.0 | 4 | 32 | 8 | 1920×1080@60fps |
12 | 5.0 | 8912896 | 8192 | 4352 | 267,386,880 | 273,715,200 | 300 | 30.0 | 100.0 | 6 | 64 | 8 | 3840×2160@30fps |
13 | 5.1 | 8912896 | 8192 | 4352 | 534,773,760 | 547,430,400 | 300 | 40.0 | 160.0 | 8 | 64 | 8 | 3840×2160@60fps |
14 | 5.2 | 8912896 | 8192 | 4352 | 1,069,547,520 | 1,094,860,800 | 300 | 60.0 | 240.0 | 8 | 64 | 8 | 3840×2160@120fps |
15 | 5.3 | 8912896 | 8192 | 4352 | 1,069,547,520 | 1,176,502,272 | 300 | 60.0 | 240.0 | 8 | 64 | 8 | 3840×2160@120fps |
16 | 6.0 | 35651584 | 16384 | 8704 | 1,069,547,520 | 1,176,502,272 | 300 | 60.0 | 240.0 | 8 | 128 | 16 | 7680×4320@30fps |
17 | 6.1 | 35651584 | 16384 | 8704 | 2,139,095,040 | 2,189,721,600 | 300 | 100.0 | 480.0 | 8 | 128 | 16 | 7680×4320@60fps |
18 | 6.2 | 35651584 | 16384 | 8704 | 4,278,190,080 | 4,379,443,200 | 300 | 160.0 | 800.0 | 8 | 128 | 16 | 7680×4320@120fps |
19 | 6.3 | 35651584 | 16384 | 8704 | 4,278,190,080 | 4,706,009,088 | 300 | 160.0 | 800.0 | 8 | 128 | 16 | 7680×4320@120fps |
其他几个组织也在开发AV1的编解码器,包括EVE for AV1(目前为Beta测试版)、[48] NGCodec、[49] Socionext、[50] Aurora[51] 和MilliCast。[52]
Microsoft Windows | macOS | BSD / Linux | Android | iOS | |
---|---|---|---|---|---|
编解码 |
未默认启用,需扩展程序 | 是 | 是 | 是 | 是 |
容器 |
|||||
注释 |
|
|
YouTube已开始尝试在部分影片使用AV1影帧式。2020年2月5日,Netflix开始在Android设备上使用AV1影帧式播放影片,AV1的压缩效率较原先的VP9提升了20%[78]。Facebook表示AV1性能超乎预期,一旦时机成熟将逐步采用AV1影帧式[79]。
Twitch计划在2022年或2023年于关注度较高的影片采用AV1影帧式,并在2024年或2025年全面采用[80]。
2020年4月30日,爱奇艺宣布在电脑浏览器和Android设备上支持AV1视频格式[81]。
2022年2月6日,哔哩哔哩已在网页端测试AV1视频格式的解码播放。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.